﻿//#define _CRT_SECURE_NO_WARNINGS
//#include <stdio.h>

#include "common.h"

// 以下代码用于学习宏定义、常量、字符和字符串的表示
// 1. 宏定义的标识符可以是任意值，例如 2、3.14、'w' 和 "abc"，这些都可以用来表示字符或字符串
// 2. const 常量只能在定义时赋值一次，之后不能再修改
// 3. define 标识符也可以用来定义常量
// 4. 枚举定义可以定义一组常量，枚举常量从 0 开始递增
#define MAX 1000.0  // 定义 MAX 值为 1000.0
#define STR "abcdefg"  // define 标识符也可以用来定义字符串

enum Color {
    // 枚举定义 Color 类型的取值，枚举定义的常量从 0 开始递增
    RED,
    GREEN,
    BLUE
};

enum Sex {
    MALE,
    FEMALE,
    SECRET
};

void study04() {
    int a = 10;
    a = 20;  // 变量 a 可以被重新赋值
    const int b = 50;  // b 是常量，一旦赋值就不能修改
    // b = 100;  // 赋值语句会报错，因为 b 不能被修改
    printf("%d\n%d\n", a, b); // -> 20 \n 50 \n
    printf("%f\n%s\n", MAX, STR);  // %f 是浮点数格式标识符，%s 是字符串格式标识符
    // int arr[10] = {0};
    // printf("%d\n", arr);
    enum Color c = GREEN;
    // MALE = "男" // -> err
    printf("%d\n", c); // -> 1
    //return 0;
}
